package com.entrogy.service;

import com.entrogy.bean.*;

import java.sql.SQLException;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**  考勤service
 * @Author 许红松
 * @date 2019/6/5 0005 下午 3:44
 */
public interface CheckTimeService {

    /**
     *  获取成绩列表
     * @param map
     * @return
     */
    public List<Map<String,Object>>  getScoreList(Map<String,Object> map);
   /**
     *  按日获取考勤记录
     * @param map
     * @return
     */
    public List<Map<String,Object>> selectDay(Map<String,Object> map);

    /**
     *  获取考勤时间
     * @param map
     * @return
     */
    public PassRecordBean getAfternoonTime(Map<String,Object> map) ;


    /**
     * 12:00:00 - 14:00:00时间点之间的第次刷脸出门
     *
     * @param map
     * @return
     */
    public PassRecordBean getMorningOutTime( Map<String,Object> map) ;

    /**
     * 下午下班时间后的第一次的刷脸 时间
     *
     * @param map
     * @return
     */

    public PassRecordBean getAfternoonOutTime(Map<String,Object> map);

     /**
     * 根据月份去判断有没有这个月的统计数据
     * @param map
     * @return
     */
    public int checkMonthTable(Map<String,Object> map);

    /**
     * 根据月份创建数据表
     * @param map
     */
    public void createMonthTable(Map<String,Object> map);

    /**
     * 将表名存入map中
     * @param map
     * @return
     */
    public Map<String,Object> setTableName(Map<String,Object> map);

   /* *//**
     *
     * @param queryRunner
     * @param tableName
     * @param passRecordBean
     * @param morningOutTime
     * @param afternoonTime
     * @throws SQLException
     *//*
    public void checkClockCount(QueryRunner queryRunner, String tableName, PassRecordBean passRecordBean, Date morningOutTime, Date afternoonTime, Map<String,Object> map) throws SQLException;
*/
    /**
     * <p>
     * Description: 获取月份的天数
     * </p>
     *
     * @param date 月份
     * @return List<String>
     */
    public List<String> getMonthDays(String date, Map<String,Object> map);

    /**
     * 根据月份查询打卡考勤的数据
     * @param map
     * @return
     */
    public List<UserEntity> getPassRecordByMoth(Map<String,Object> map);

    /**
     *
     * @param map
     * @return
     */
    public List<PassRecordBean> getInfoByThdid(Map<String,Object> map) ;

    /**
     *
     * @param map
     * @return
     */
    public PassRecordBean getNightOutWork(Map<String,Object> map);

    /**
     *  获取考勤时间
     * @param date
     * @param tableName
     * @param lists
     * @param type
     */
    public void getKaoqinTime(String date, String tableName, List<PassRecordBean> lists, int type);

 /**
  * 获取月份的天数
  * @param date
  * @return
  */
 public List<String> getMonthDays(String date);
 /**
  *   查询考勤人员
  * @param map
  * @return
  */
 public List<Map<String,Object>> getPeopleList(Map<String,Object>  map);

 /**
  *  考勤数据
  * @param map
  * @return
  */
 List<Attendance> selectDay1(Map<String, Object> map);


 /**
  *  考勤数据
  * @param map
  * @return
  */
 List<Attendance> selectDay2(Map<String, Object> map);


 /**
  *  根据条件查询考勤信息
  * @param map
  * @return
  */
 public  List<Attendance> getAttendByType(Map<String,Object> map);


 /**
  *  考勤数据
  * @param map
  * @return
  */
 List<CheckTime> selectDay3(Map<String, Object> map);

 /**
  *   统计
  * @param map
  * @return
  */
 public  List<CheckTime>  getCountList( Map<String,Object> map);

 /**
  * 月度统计
  * @param map
  * @return
  */
 public List<CheckTimeResult>  getMonthList(Map<String,Object> map);
}
